Периферийное сканирование
В статье не хватает ссылок на источники (см. рекомендации по поиску). |
Периферийное сканирование (англ. Boundary Scan) — вид структурного тестирования печатной платы с установленными на неё компонентами, основанный на применении в некоторых микросхемах стандарта IEEE 1149.1(.4, .6). Широко используется также термин «граничное сканирование». Результатом периферийного сканирования является информация о наличии в электроцепях типичных неисправностей, возникающих при производстве печатных плат:
- коротких замыканий (bridges),
- непропаек (opens),
- западаний на 0 или 1 (stuck at 0, stuck at 1),
- обрывов дорожек.
Периферийным сканирование было названо из-за того, что соответствующие микросхемы могут при определённых условиях сами протестировать своё окружение — периферию — на наличие неисправностей.
Периферийное сканирование было предложено впервые ещё в 1985 году и было реализовано в 1990 году в виде стандарта IEEE 1149.1. В течение первых нескольких лет существования периферийное сканирование постепенно набрало популярность, так как производители микросхем предлагали всё большее количество компонентов, поддерживающих стандарт IEEE 1149.1.
Соответствие стандарту IEEE 1149.1
[править | править код]Для того, чтобы соответствовать стандарту, микросхема должна содержать:
- 4-х или 5-ти проводный порт тестового доступа (TAP — Test Access Port), состоящий из следующих линий:
- TDI (Test Data Input) — вход тестовой последовательности,
- TDO (Test Data Output) — выход тестовой последовательности,
- TMS (Test Mode Select) — выбор тестового режима,
- TCK (Test Clock) — синхронизация,
- TRST (Test Reset) — опциональная линия сброса.
- внутренние ячейки периферийного сканирования (BS Cells)
- регистры периферийного сканирования (BS Registers)
- дополнительную переключающую обвязку (TAP Controller)
Кроме того, производитель микросхемы должен предоставить так называемый BSDL-файл (англ. Boundary Scan Description Language), полностью описывающий логику периферийного сканирования в данном типе микросхем.
Применение периферийного сканирования
[править | править код]Для применения периферийного сканирования необходимо наличие в тестируемом устройстве компонентов, его поддерживающих. Иногда их называют компонентами с JTAG-интерфейсом. Множество микросхем изрядного числа производителей уже поддерживают стандарт IEEE 1149.1.
Чтобы получить хорошее тестовое покрытие нет необходимости в том, чтобы все компоненты на плате имели JTAG-интерфейс. Например, много блоков, состоящих из несканируемых компонентов, т. н. кластеры, могут тестироваться, несмотря на отсутствие прямого доступа для сканирования. В некоторых случаях контроль и детальное тестирование всей платы (включая память) осуществляются при помощи одного или двух компонентов, поддерживающих периферийное сканирование.
Микросхемы, поддерживающие периферийное сканирование, соединяются в одну или несколько отдельных цепочек. При этом вывод TDO одной микросхемы соединяется с выводом TDI другой. Ко всем микросхемам подводятся сигналы TCK и TMS для контроля всей «тестовой инфраструктуры».
Механизм периферийного сканирования
[править | править код]Затем некая тестовая последовательность (тестовый вектор — Test Vector), двоичная — состоящая из нулей и единиц, вводится в тестовый порт (TAP). Она проходит последовательно через все ячейки периферийного сканирования (BS Cells). На выходе (TDO) она анализируется специальным программным обеспечением, после чего делаются соответствующие выводы о состоянии инфраструктуры данной микросхемы.
Если тестовая последовательность пришла в неизмененном состоянии — то делается вывод об отсутствии коротких замыканий и непропаек у микросхемы. Если последовательность изменилась — то наоборот.
На самом деле, это не совсем так. Конфигурации современных цифровых устройств настолько сложны, что по одному тестовому вектору обычно невозможно судить о всей инфраструктуре. Вследствие чего используются одновременно несколько тестовых векторов. В задачи же соответствующего программного обеспечения входит определение вида и минимального (безызбыточного) количества этих тестовых векторов.
Виды тестов и приложений, которые могут быть реализованы при помощи периферийного сканирования
[править | править код]- Тест инфраструктуры: проверка целостности цепей JTAG-интерфейса и корректной установки микросхем, поддерживающих периферийное сканирование.
- Тест межсоединений: проверка цепей, связанных с компонентами, поддерживающими периферийное сканирование. Сюда включаются соединения между этими компонентами, их не подключенные выводы и цепи, выходящие на внешние разъемы. В тест межсоединений могут быть включены транспарентные устройства, такие как: буферы, резисторы, другая связующая логика. Часто данный этап включает проверку резисторов подтяжки.
- Тест памяти: тестирование межсоединений с устройствами памяти. Позволяет определить дефекты на шинах адреса и данных и на контрольных цепях таких устройств как SRAM, DRAM, SDRAM, DDR, DDR2, FIFO, а также различных флэш-ПЗУ. По сути это тестирование соединений с памятью.
- Тест кластеров: проверка цепей, связанных с любыми устройствами, не поддерживающими периферийное сканирование. При наличии модели функционирования того или иного устройства возможна автоматическая генерация тестовых векторов и для них. Типичные «кластеры» при тестировании методом периферийного сканирования это различная логика (для автоматической генерации тестов используется таблица истинности), интерфейсные микросхемы (например RS-232, Ethernet и т. д.), устройства отображения информации.
- Программирование флэш-ПЗУ: используется тот же механизм, что и при тестировании кластеров.
- Программирование или конфигурация ПЛИС: используется JTAG-интерфейс.
Ссылки
[править | править код]Для улучшения этой статьи желательно:
|